home *** CD-ROM | disk | FTP | other *** search
-
- …ÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕª
- ∫ EasyFold version 1.1 User Guide ∫
- »ÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕº
-
- NOTE: This file is "folded"; edit "FOLD.HLP" for lesson on how to use
- folds.
-
- /*HS!!1*/ 1. INTRODUCTION
-
- EasyFold is a simple-to-use folding editor. A "conventional editor with
- folds" rather than a "folding editor".
-
- If you don't use folds, EasyFold will operate as an ordinary editor.
-
- If you don't already know what folds are, then you can get a
- demonstration by editing "FOLD.HLP" and following the instructions.
-
- Folds put into your files will appear as comments with the format
- depending on the file extension. For example if the file ends in .BAS
- (basic) the fold information will appear after REM statements. This means
- that files edited with EasyFold will compile or run normally. Extensions
- recognised by easy fold are, .C .CPP .BAS .PAS .ASM .TEX .BAT .PRO and
- .MOD.
-
- /*HH1!1*/ 2. FEATURES
-
- EasyFold has all the usual features you expect from an editor plus...
-
- * Folding. See chapter 4.
- * Search and replace across multiple buffers. See chapter 5.
- * Menu or keystroke driven.
- * Mouse support.
- * Edit up to 100 files at once. See section 3.13.
- * Split screen editing. See section 3.14.
- * Live word wrap. See chapter 6.
- * Switchable between line modes inc SVGA modes. See section 13.2.
- * Rolling back-up system. See section 12.3.
- * Remembers previous, searched for, strings. See chapter 5.
- * Execute lines as DOS commands. See chapter 7.
- * One and two letter macros. See chapter 9.
- * Repeat macro until fail. See section 9.6.1.
- * Batch mode. See section 9.6.2
- * Mouse macros. See section 9.5.
- * Access to global variables to enhance power of macros. See chapter 9
- * Bracket matching. See section 12.1
- * Auto locating files See section 3.3.6.
- * Reconfigurable keyboard. See chapter 11.
-
- /*HH121*/ 3. HOW TO EDIT A FILE
-
- /*HS!!2*/3.1. Running EasyFold
-
- To edit a file, say "TEST.DOC", you type..
-
- EF TEST.DOC
-
- from the command line.
-
- To edit more than one file at a time you simply type the names one after
- the other separated by spaces. The file names may include wildcard
- characters, for example
-
- EF *.C *.DOC INFO.DAT
-
- would be a valid command line. See section 3.13 for how to switch between
- files.
-
- Another way of editing a large number of files from the command line is
- to make an ASCII file containing the names of the files you wish to edit
- (one file per line) and then type "ED @XXX" where XXX is the name of the
- list file.
-
- If you type "EF" without any parameters, EasyFold will attempt to load
- the same files as in the previous editing session.
-
- /*HH232*/3.2. Using the Menus
-
- /*HS!!3*/ 3.2.1. Using the Menus With a Mouse
-
- To access the menus with a mouse, first of all move the mouse pointer to
- the very top line of the screen, a selection of menus will now appear.
- Click (and release) the mouse pointer on the menu you wish to select. The
- menu will now appear. You may change menus by moving the mouse pointer
- along the top line. To select an individual item in a menu, move the
- mouse pointer over that item and click the mouse button.
-
- /*HH3!3*/ 3.2.2. Using the Menus From the Keyboard
-
- To access the menus from the keyboard press <F1>. A menu will now appear.
- To choose between different menus use the <Left> and <Right> keys. To
- select an individial item from a menu either use <Up> and <Down> and then
- type <Enter> or alterantively simply type the highlighted character in
- the options.
-
- /*HH232*/3.3. Loading and Saving files
-
- /*HS!!3*/ 3.3.1. Load
-
- To load a file, select "Load" from the "File" menu or type <Esc> then
- <L>. You will the be asked for the name of the file you wish to load. If
- you have already loaded files via the load command you will be able to
- recall previous filenames by typing <Up> or <Down>
-
- If you enter a name containing wildcard characters you will then be able
- to select from a menu of files fitting that wildcard.
-
- /*HH3!3*/ 3.3.2. Save
-
- To save a file, select "Save" from the "File" menu or type <Esc> then <S>.
-
- /*HH3!3*/ 3.3.3. Save and Exit
-
- To save a file and immediatly exit the program, select "Save & Exit" from
- the "File" menu or type <Esc> then <X>.
-
- /*HH3!3*/ 3.3.4. Save As
-
- To save a file under a given name, select "Save As" from the "File" menu
- or type <Esc> then <A>. You will then be asked to type in the name of the
- file.
-
- /*HH3!3*/ 3.3.5. Insert From File
-
- To insert a file into the current buffer at the position of the cursor,
- select "Insert From File" from the "File" menu or type <Esc> then <I>.
- You will then be asked for the name of the file you wish to Insert.
-
- /*HH3!3*/ 3.3.6. Special Files
-
- Any file with the extension ".EF" will always be read and written to the
- editors working directory. This is usefull for often used files which you
- want to access from anywhere. For example you may keep a small ".EF" file
- containing your name and address for insertion into documents.
-
- NOTE: The location of the editors working directory is determined in the
- following order of priorities.
-
- 1. The dierctory specified by an environment variable "EFWORK".
-
- 2. The directory specified by an environment variable "HOME".
-
- 3. The directory that the editor executable is in.
-
- /*HH232*/3.4. Entering Text
-
- /*HS!!3*/ 3.4.1. Insert/Overtype
-
- To toggle between these type <Ins>. In overtype mode there will be a
- letter `O' on the top line of the display.
-
- /*HH3!3*/ 3.4.2. Entering Control Characters
-
- To enter ASCII characters below ASCII 32 select "Enter Control Char" from
- the "misc" menu or type <Ctrl><C>. You may then enter any character
- except ASCII 0,1,2 and 26 which are reserved for use by EasyFold.
-
- /*HH3!3*/ 3.4.3. Entering ASCII Characters Above 127
-
- If you wish to wish to enter ASCII characters above 127 into your file
- you may select them from a display. The display can be summond by
- selecting "Symbols Menu" from the "misc" menu or by typing <Ctrl><F1>.
- You may then select a character by positioning the highlight box over the
- character and pressing <Enter>.
-
- /*HH232*/3.5. Moving Around
-
- If you have a mouse then clicking the left hand mouse button will take
- you to wherever the mouse is situated. The right hand mouse button is
- reserved for opening and closing folds, see chapter 4.
-
- If you have a mouse and you move the mouse pointer up to the top line of
- the screen you will notice that on the right you will see the words "up"
- and "down". You may click on these to scroll the screen.
-
- <Ctrl><Home> and <Ctrl><End> scroll the screen leaving the cursor at the
- same position in the file.
-
- EasyFold uses <F9> and <F10> to take you to the top and bottom of a file
- respectively.
-
- <Home> and <End> take you to the start and end of a line.
-
- <Ctrl><left> and <Ctrl><right> take tou to the beggining and and of the
- previous and next words respectively.
-
- To goto a particular line in a file select "Goto Line" from the "Edit"
- menu or type <Ctrl><G>. You will then be asked to enter the line number.
-
- /*HS!!3*/ 3.5.1. Position Markers
-
- EasyFold allows you to store the current cursor position and come back to
- it later or to swap between two positions in the text.
-
- To store the current cursor position select "Mark Position" from the
- "Edit" menu or type <F7>.
-
- To go back to the stored position select "Goto Mark" from the "Edit" menu
- or type <F8>.
-
- To go back to the stored position while making your current position into
- the stored position select "Swap Marks" from the "Edit" menu or type
- <Ctrl><F8>.
-
- /*HH2!2*/3.6. Selecting a Block of text
-
- If you have a mouse you may select a block of text by first clicking the
- mouse on the point at which you wish to start and then, leaving your
- finger on the mouse, drag the mouse pointer to where you wish the block
- to end. If you do not have a mouse type <F3> at the start of the block
- and the move the cursor to the end of the block.
-
- To un-select a block press <Esc> twice.
-
- Selecting a block in itself has no effect on the file, selecting is
- merely the first part of many different operations.
-
- * Copy/Move to Workspace
-
- * Print block
-
- * Delete
-
- * Block Tab
-
- * Case Manipulation
-
- /*HH2!2*/3.7. Deleting a Selected Block of Text
-
- To delete a block of text, first select it as described in section 3.6,
- then type <Del>.
-
- /*HH2!2*/3.8. Block Tab/Un-Tab
-
- To insert tab characters at the start of all the lines within a block,
- select it as described in section 3.6, then type tabkey. To remove tabs
- type <shift><tab>.
-
- /*HH2!2*/3.9. Block Case Manipulation
-
- You can perform several case manipulations on a highlit block of text.
-
- * Change all characters to upper case
- * Change all characters to lower case
- * Swap the case of all characters
- * Maket the first letter of each word upper case
-
- To perform these operations on a block, select it as described in section
- 3.6, then select "Case operation" from the "Edit" menu or type <Ctrl><V>.
- You will then be prompted to enter a character corresponding to one of
- the four options.
-
- If you select "Case operation" from the "Edit" menu or type <Ctrl><V>
- when no block has been selected, the case of the individual character the
- cursor is under will be swapped and the cursor advanced one character.
-
- /*HH2!2*/3.10. The Workspace
-
- EasyFold uses the concept of a "workspace" or "scratchpad", this is
- simply an area of memory in which bits of text can be stored temporarily.
- It can store only one piece of text at a time and so if new text is
- copied into the workspace the old text will be lost. The first few
- characters of the workspace are always shown on the bottom line of the
- editing screen.
-
- /*HH2!2*/3.11. Cut, Copy and Paste
-
- Cut and paste works using the workspace.
-
- To copy a block of text to the workspace first of all highlight it as
- described in section 3.6, then select "copy block to workspace" from the
- "edit" menu or type <F3>.
-
- To move (cut) a block of text to the workspace first of all highlight it
- as described in section 3.6, then select "move block to workspace" from
- the "edit" menu or type <Alt><F3>.
-
- To insert (paste) the content of the workspace into your file select
- "insert workspace into file" from the "edit" menu or type <F4>.
-
- /*HH2!2*/3.12. Merging One File Into Another
-
- You may insert the contents of a file on disc into the file you are
- editing by simply selecting "insert from file" from the "file" menu or
- typing <Esc> then <I>, you will then be asked for the name of the file to
- insert.
-
- /*HH232*/3.13. Editing More Than One File at a Time
-
- /*HS!!3*/ 3.13.1. Buffers
-
- EasyFold can edit up to 100 buffers simultaneously, if there is not
- enough memory to hold all the files you are editing then EasyFold will
- automatically put buffers in temporary files transparently.
-
- /*HH3!3*/ 3.13.2. Switching Between Buffers
-
- There are many ways of switching between buffers.
-
- Pressing <Alt> and a digit 1-9 will take you to buffers 1-9.
-
- If you type <Alt><=> you will be taken to the next buffer.
-
- If you type <Alt><-> you will be taken to the previous buffer.
-
- If you have a mouse, move it up to the top line where you may select
- "buffers" this then takes you to a screen displaying all the 100
- buffers, you may select a buffer by simply clicking the mouse on the
- appropriate one. If you do not have a mouse you may get to the selection
- screen by selecting"Buffer Selection" from the "File" menu or typing
- <Esc> then <B>
-
- If you type <Esc> then <E> you will be asked to type in the number of the
- buffer you wish to select.
-
- /*HH3!3*/ 3.13.3. Abort Buffer
-
- To abort the editing of the current buffer, select "Abort Buffer" from
- the "File" menu or type <Esc> then <T>.
-
- /*HH2!2*/3.14. Windows
-
- To split the screen into two windows select "2 windows" from the "Misc"
- menu or type <Esc> then <2>.
-
- To switch between windows select "swap window" from the "misc" menu or
- type <Ctrl><S>. If you have a mouse you may simply click the mouse in the
- appropriate window.
-
- To move the window boundary select "move boundary" from the "misc" menu
- or type <Esc> then <M>. The boundary may then be moved up and down with
- the cursor keys. Type <Esc> when finished.
-
- To go back to just one window select "1 Windows" from the "Misc" menu or
- type <Esc> then <1>.
-
- Windows are not tied to particular buffers, you may edit any buffer in
- any window.
-
- /*HH2!2*/3.15. Miscellaneous
-
- To delete a line type <Ctrl><Y>, the line will automatically be put in
- the workspace.
-
- To erase from the cursor until the end of a line type <Ctrl><K>.
-
- To view a table of ASCII characters and their codes, select
- "Select ASCII Table" from the "Misc" menu or type <Alt><F1>.
-
- /*HH121*/ 4. FOLDS
-
- /*HS!!2*/4.1. Introduction
-
- It is sad that more people don't use folding editors. Once mastered,
- folds can help enormously in structuring large complex programs. I
- suspect the main reason folds have not caught on, is that the existing
- folding editors are too complex to use. They require the learning of many
- new and difficult concepts. Also they often have special file formats
- that cannot be read by compilers so you have to have two files going at
- the same time, one with and one without folds.
-
- EasyFold attempts to get round these problems, by making folds behave
- more like ordinary text. For example in EasyFold there are no special
- commands for copying folds from one place to another, you simply use the
- block copy procedure as for any other text.
-
- The best way to learn about folds is to see them in action, to do this
- try editing "FOLD.HLP" and following it's instructions.
-
- /*HH2!2*/4.2. How to Make/Delete a Fold
-
- To make a fold move to the line you want the fold at and select "Create
- Fold" from the "Fold" menu or type <Ctrl><U>.
-
- To delete a fold move to the line of the fold and select "Delete Fold"
- from the "Fold" menu or type <Ctrl><D>.
-
- NOTE: It is not possible to delete a fold that is "busy", i.e. that is
- either closed itself or is being used to close a fold above it. To relase
- a fold from use select "Release Fold" from the "Fold" menu or type
- <Ctrl><R>.
-
- /*HH2!2*/4.3. How to "Open" and "Close" Folds
-
- If you have a mouse you may toggle folds open and closed with the right
- mouse button. If you do not have a mouse select "Open Fold"/"Close Fold"
- from the "Fold" menu or type <Ctrl><PgUp>/<Ctrl><PgDn>.
-
- To open a fold and all the lower level folds within it, select "Open Fold
- & Chilren" from the "Fold" menu or type <Esc> then <Ctrl><PgUp>.
-
- To open all the folds in the entire file select "Open All Folds" from the
- "Fold" menu or type <Esc> then <PgUp>.
-
- /*HH2!2*/4.4. Changing Fold Levels
-
- To change the level of a fold select "Promote Fold"/"Demote Fold" from
- the "Fold" menu or type <Esc> followed by either <Left> or <Right>.
-
- To promote a fold and all the lower level folds within it, select
- "Promote Fold & Chilren" from the "Fold" menu or type <Esc> then
- <Ctrl><right>.
-
- To demote a fold and all the lower level folds within it, select "Demote
- Fold & Chilren" from the "Fold" menu or type <Esc> then <Ctrl><left>.
-
- /*HH232*/4.5. Fold Restrictions
-
- There are a few restrictions on where you can put folds depending on what
- language you are using.
-
- /*HS!!3*/ 4.5.1. `C'/C++
-
- You should not put a fold on a line with #define, #if etc, also you
- should not put a fold inside a comment, i.e.,
-
- /* A fold at the start of this line is ok */
- /*
- but A fold at the start of this line is not.
- */
-
-
- /*HH3!3*/ 4.5.2. MODULA2
-
- You should not put a fold inside a comment, i.e.,
-
- (* A fold at the start of this line is ok *)
- (*
- but A fold at the start of this line is not.
- *)
-
-
- /*HH3!3*/ 4.5.3. Pascal
-
- You should not put a fold inside a comment, i.e.,
-
- { A fold at the start of this line is ok }
- {
- but A fold at the start of this line is not.
- }
-
-
- /*HH3!3*/ 4.5.4. TeX / LaTeX
-
- EasyFold stores the fold information for .TEX files as a comment at the
- end of the line before a fold. This can create problems if you put a fold
- at the start of a paragraph which is preceeded by another paragraph (as
- opposed to some kind of section heading). If there is only one blank line
- between the two paragraphs then this "empty" line will be filled with a
- comment. LaTeX will then assume that you have a single large paragrph. To
- avoid this problem you could have two lines between each paragraph or
- better still restrict the folds to the chapter and section headings.
-
- \chapter{A Fold on This Line is Fine}
- blah blah blah blah blah blah
- blah blah blah blah blah blah
- <---- single blank line
- But a fold on this line could cause problems
- blah blah blah blah blah blah
- blah blah blah blah blah blah
-
- /*HH121*/ 5. SEARCH AND REPLACE
-
- /*HS!!2*/5.1. Search
-
- To search for a string select "Search" from the "Search" menu or type
- <F2>. You will then be prompted to enter the string to be searched. Type
- the string followed by <Enter>. You will then be given a list of search
- options:
-
- * S-Case sensitive: The string is only found if it matches the case of
- search string.
-
- * V-Variable: The string is only found if is bordered by non-alphanumeric
- characters on both sides. For example the `i' in "This" will not be found
- but the `h' in "if (h == 3)" will be found.
-
- * R-Reverse: The search is performed backwards.
-
- * A-All buffers: The search is performed accross all buffers starting
- from the current buffer.
-
- Type in the option letters followed by <Enter>.
-
- NOTE: To put a carriage return into the search or replace string type
- <Ctrl><N>.
-
- NOTE: When being asked for the search or replace strings you may type
- <Up> or <Down> to retrieve previously used strings.
-
- /*HH2!2*/5.2. Repeat Search
-
- To repeat the search operation select "Repeat Search" from the {Search}
- menu or type <Alt><F2>.
-
- /*HH2!2*/5.3. Search and Replace
-
- To search and replace a string select "Search & Replace" from the
- "Search" menu or type <Ctrl><F2>. You will then be prompted to enter the
- string to be searched. Type the string followed by <Enter>. You will then
- be given a list of search options. Type in the option letters followed by
- <Enter>. You will then be prompted to enter the string to replace the
- search string. Type the string followed by <Enter>.
-
- When the search string is found you will be prompted with the message:
-
- Yes/No/Last/Rest/Cancel
-
- Enter the first letter of one of the words to get the following effects:
-
- * Yes: Replace this occurrence of the string.
-
- * No: Do not replace this occurance of the string.
-
- * Last: Replace this occurrence of the string but then do not continue
- searcing.
-
- * Rest: Replace this, and all other, occurrences of the string without
- further prompting.
-
- * Cancel: Cancel the search.
-
-
- /*HH121*/ 6. WORD WRAPPING
-
- EasyFold supports "live" word-wrap, that is to say paragraph will be
- formatted as you type rather than having to type special formatting
- commands.
-
- /*HS!!2*/6.1. To Word-Wrap a File
-
- To word wrap a file select "word-wrap" from the "misc" menu or type <Esc>
- then <W>.
-
- When you word wrap a file in one buffer it has no effect on any other
- buffer so for example you could edit word wrapped documentation files in
- some buffers and non-word-wrapped source code files in other buffers at
- the same time, you could even have both on screen at the same time in
- different windows.
-
- EasyFold automatically detects whether a file has been word wrapped, so
- once a file has been word wrapped once you will not keep having to
- re-issue the word-wrap command when you edit the file on different
- occasions.
-
- /*HH2!2*/6.2. Un-Word-Wrap
-
- To un-word-wrap a document select un-word-wrap from the "misc" menu or
- type <Esc> then <U>.
-
- There are two ways to un-word-wrap a document,
-
- 1. The soft returns may be removed leaving a file with some possibly
- quite long lines. Files un-word-wrapped in this manner can easily be
- wrapped again.
-
- 2. The soft returns may be converted to hard returns.
-
- WARNING: This option must be used with great care. Once a file has been
- un-word-wrapped in this way it cannot easily be wrapped again, you will
- have to manually delete all the unwanted hard returns.
-
- /*HH2!2*/6.3. Word-Processor Compatibility
-
- EasyFold as well as most word-processors for the PC use the following
- convention for "hard" and "soft" returns:
-
- Hard return = <CARRIAGE RETURN> followed by <LINE FEED>
-
- Soft return = <CARRIAGE RETURN>
-
- A "hard" return is the character that is placed in a file when you type
- <Enter> on the keyboard. A "soft" return is a character placed in your
- file by the editor itself to break a line that has become too long. Soft
- returns are added and removed by the editor automatically as you type.
-
- /*HH121*/ 7. INTERACTING WITH DOS
-
- You can temporarily go to DOS without leaving the editor in three
- different ways.
-
- 1. Shell to DOS and stay there until you type `exit'.
- 2. Execute the current line as a DOS command.
- 3. As 2 but then remain in DOS until you type `exit'
-
- To shell to DOS and stay there until you type `exit' select "Shell to
- DOS" from the "DOS" menu or type <Esc> <D>.
-
- To execute the current line as a DOS command select "Execute Line" from
- the "DOS" menu or type <Esc> then <Alt><D>.
-
- To execute the current line as a DOS command and then remain in a DOS
- shell select "Execute Line Then DOS" from the "DOS" menu or type <Esc>
- then <Ctrl><D>.
-
- /*HS!!2*/7.1. Maximizing DOS memory
-
- You can get more memory when shelling out to DOS by instructing EasyFold
- to save its buffers in temporary files. See section 13.7.
-
- /*HH1!1*/ 8. ACCESSING EasyFold VARIABLES
-
- Virtually any time EasyFold asks you to type in a string (for example a
- search string or a filename) you may type <F1> to get access to a list of
- internal variables. This enables you to make extremely powerful macros.
- For example if you have two files on screen, one containing a list of
- errors and line numbers in the other. You could make a macro to copy a
- line number into the workspace, then switch to the other window and go to
- the line number that is in the workspace!
-
- The variable you have access to are as follows:
-
- * Word at Cursor: The word that the cursor is under.
- * Workspace: The contents of the workspace.
- * Keyboard: A string to be entered from the keyboard i.e., if a macro is
- being executed the macro will temporarily pause until the string is
- entered manually.
- * Filename: The name of the file.
- * Cursor Charcter: The character that the cursor is under.
- * Cursor Line: The contents of the line that the cursor is on.
- * Line Number: The line number of the cursor.
- * Column Number: The column number of the cursor.
-
- /*HH121*/ 9. MACROS
-
- /*HS!!2*/9.1. Introduction
-
- A macro is a sequence of keystrokes that performs a certain task. Macros
- can be assigned to a single key (EasyFold reserves the keystrokes
- <Alt><A> to <Alt><Z> for this purpose) or alternativly may be assigned
- two letter names.
-
- Example: Say you wished to add the text "/*" and "*/" to the sart and end
- of many lines (this turns a line in to a `C' style comment). The
- keystrokes we need to type are <Home>, </>, <*>, <End>, <*>, </>. We can
- assign this sequence of six keys to one of the <Alt> keys (say <Alt><Z>)
- so that each time we type <Alt><Z> the sequence of six keys gets executed.
-
- Macros can be made in two distinct ways:
-
- * recorded: This is where you simply perform the sequence of keys that
- comprise the macro and EasyFold records them.
-
- * compiled: This is where you edit a file which defines the keystrokes of
- a macro and then ask EasyFold to "compile" the file into a macro.
-
- /*HH2!2*/9.2. Recording a Macro
-
- To record a macro:
-
- 1. select "define Macro" from the macro menu or type <F5>, you will now
- be asked to select which <Alt> key you wish to use.
-
- 2. You will now be asked to enter a short description of the operation of
- the macro (descriptions of macros may be viewed, see section 9.8). A
- description is not essential and if you do not wish to give one, just
- type <Enter>.
-
- 3. From this point onwards your key strokes will be recorded. Type the
- sequence of keys. When you have completed all the keystrokes press <F5>
- to end the recording.
-
- NOTE: You may not execute or define macros from within macros.
-
- NOTE: Single key macros are not saved between editing sessions unless you
- specifically request this by selecting "Save Macros" from the "Macros"
- menu or typing <Esc> then <F5>.
-
- NOTE: Single key macros can contain up to 200 keystrokes.
-
- /*HH2!2*/9.3. Recording a Two Character Macros
-
- Two character macros can be recorded in the same manner as single key
- macros but they are executed slightly differently, if the macro name is
- "AB" then these two characters must be typed into the file you are
- editing, you then select "Execute Two Letter Macro" from "Macros" menu or
- type <F6>, the two characters will immediately be erased and the macro
- executed. You define a two letter macro in the following way:
-
- 1. select "Define Two Letter Macro" from the "Macros" menu or type
- <Ctrl><F6>
-
- 2. You will now be asked to type in the two character name of the macro,
- these must constitute a valid file name without an extension, i.e., must
- not include a `.'.
-
- 3. From this point onwards your key strokes will be recorded. When you
- have completed all the keystrokes press <F5> to end the recording.
-
- NOTE: Two letter macros are saved automatically after defining them.
-
- NOTE: Single key macros can contain up to 2000 keystrokes.
-
- /*HH232*/9.4. Compiling Macros
-
- Macros may be compiled from ordinary text in a buffer. The format of a
- macro is as follows:
-
- * The first line in the buffer is the macro description.
-
- * Ordinary (alphanumeric) keys like 9-9 and A-Z are each separated by
- spaces.
-
- * Special keys like <F5> or two-key combinations like <Ctrl><G> are
- written as strings, for example <F5> is wriiten "F5" and <Ctrl><G> is
- written "CTRL-G".
-
- Example: Take the macro desribed at the start of the chapter about
- turning a line of text into a `C' style comment. The file needed to
- create this macro would look something like this:
-
- Turn line into `C' comment
- HOMEKEY / * ENDKEY * /
-
- Once you have typed in the text of your macro select "Compile Macro" form
- the "Macros" menu or type <Esc> then <Alt><F5>. You will then be prompted
- for the key you wish to assign the macro to.
-
- /*HS!!3*/ 9.4.1. Entering key names
-
- You can enter the names of non-ASCII keys directly into the file ready
- for macro compilation by selecting "Insert Key Name" from the "Macros"
- menu or typeing <Esc> then <K>.
-
- /*HH2!2*/9.5. Editing Existing Macros
-
- Macros may be edited in a buffer even when they were originally recorded
- (as opposed to compiled). To edit a macro in the current buffer select
- "Edit Macro" from the "Macros" menu or type <Esc> then <Ctrl><F5>. You
- will then be asked to type in the macro letter. The macro will then
- appear in the buffer ready to be edited and compiled as discussed in
- section 9.3.
-
- /*HH2!2*/9.6. Mouse Macros
-
- You can define the action of pressing <Alt> and clicking the left hand
- mouse button to mean:
-
- 1. Take the cursor to the position specified by the mouse.
- 2. Then enter a certain key. This key can be a macro key or any other key.
-
- this is very usefull when you want to perform an operation on parts of
- your text scattered around the screen. For example if you had written
- some text and had omitted to capitalise the first letter of each
- sentence, you could define the Alt-Mouse key to be <Ctrl><V> (see section
- 3.9) then while pressing the <Alt> key click the mouse on the offending
- letters.
-
- To define this "Alt-mouse" key select "Define Alt-Mouse" from the
- "Macros" menu and then enter the key.
-
- /*HH232*/9.7. Special Macro Features
-
- /*HS!!3*/ 9.7.1. Repeat Macro Till Fail
-
- You may ask for the last used macro to be repeated until there is some
- kind of failure. A failure is any operation that would cause EasyFold to
- produce a warning message, for example attempting to move the cursor down
- when you are already at the bottom of a file or searching for a string
- that is not there.
-
- /*HH3!3*/ 9.7.2. Batch Mode
-
- It is possible to ask EasyFold to execute a two letter macro from the
- command line. This is very useful if you wish to perform operations on
- files on a regular basis from a batch file.
-
- To execute a two letter macro from the command line, add the switch
- "\M:xx" to the end of the EasyFold command line, where "xx" is the macro
- name.
-
- If you wish to quit the editor as soon as the macro is completed use the
- switch "\Z:xx".
-
- /*HH2!2*/9.8. Viewing Macros Descriptions
-
- To view a list of macro descriptions select List One Letter Macros from
- the Macros menu or type <ESC> then <CTRL-L>.
-
- /*HH121*/ 10. PRINTING
-
-
- To print a buffer select "Print" from the "Misc" menu or type <Ctrl><P>.
- You will then be prompted as to whether you wish the contents of closed
- folds to be printed, type Y or N.
-
- /*HS!!2*/10.1. Printer control
-
- See section 13.5.
-
- /*HH2!2*/10.2. Printing a Block of Text
-
- To print a block of text, fist highlight the block as described in
- section 3.6, then select "Print" from the "Misc" menu or type <Ctrl><P>.
- You will then be prompted as to whether you wish the contents of closed
- folds to be printed, type Y or N.
-
- /*HH1!1*/ 11. REMAPPING THE KEYBOARD
-
- EasyFold comes with a special program called "SETKEYS.EXE" which allows
- you to redefine which key(s) perform which function. There are a few
- restrictions:
-
- * A funtion may only be called via a maximum of two keystrokes
- (combination keystrokes like \twokeys{\ctrl}{F9} count as a single
- keystroke).
-
- * All two-key sequences must start with the same "command" key.
-
- Before running the program first of all make sure that "SETKEYS.EXE" is
- on the same subdirectory as the editor executable ("EF.EXE"). Run the
- program by simply typing SETKEYS at the DOS prompt.
-
- The program displays a box containing a function description and the
- current keystroke(s) that execute that function. You may browse up and
- down the list of functions using the <UP> and <DOWN> keys.
-
- To change the keystroke(s) type `C' followed by the keystroke(s) you
- desire for that function.
-
- To reset a function to its default keystroke(s) type `D'.
-
- To reset all functions to their default keystroke(s) type `A'.
-
- To save all your changes type `S'.
-
- To quit the program without saving type `Q'.
-
- /*HH121*/ 12. MISCELLANEOUS
-
- /*HS!!2*/12.1. Bracket Matching
-
- EasyFold can find matching brackets `(' `)' and `{' `}'. To find a
- particular brackets partner, position the cursor under the bracket and
- type <Ctrl><]>, the cursor will now be positioned under the partner.
-
- /*HH2!2*/12.2. View Entry Screen
-
- It is often useful to be able to see the entry screen as it was just
- before entering the editor, for example if there are error messages from
- a compiler on the screen. To view the entry screen select "View Entry
- Screen" from the "Dos" menu or type <Esc> then <V>.
-
- /*HH2!2*/12.3. Rolling Back-up System
-
- EasyFold makes back-ups of files in two distinct ways.
-
- 1. The conventional system: When you alter an existing file, EasyFold
- renames the original version to being a ".BAK" file.
-
- 2. The rolling back-up system: When you alter an existing file, EasyFold
- renames the original version to "BAK1.EF" (whatever your file was called)
- and shunts "BAK2.EF", "BAK3.EF" etc along one place in a list. The number
- files in this list is configurable, see section 13.6.
-
- NOTE: The rolling backup list contains whatever files you have been
- editing. There is not a separate backup list for each file.
-
- /*HH121*/ 13. EDITOR CONFIGURATION
-
- /*HS!!2*/13.1. Introduction
-
- Many aspects of EasyFolds operation may be configured while the editor is
- still running. To get to the "options" screen select "Editor Options"
- from the "Misc" menu or type <Esc> then <O>. To select an option simply
- position the highlight bar over that option, to change its value simply
- press <Left> or <Right> or, if you have a mouse, press the left or right
- hand buttons. To "save" a configuration so that it will be the same in
- the next editing session press <S>. To return to editing press <Esc>.
-
- The options that can be set are as follows...
-
- /*HH232*/13.2. Special Character Displays
-
- /*HS!!3*/ 13.2.1. Tab Size
-
- This defines the size of the tab character field. The default value is 4.
-
- /*HH3!3*/ 13.2.2. The Display of the Tab Character
-
- This controls the way that tab characters will appear on the screen.
-
- /*HH3!3*/ 13.2.3. The Display of Hard/Soft Return Characters
-
- These control how the "hard" and "soft" return characters will appear on
- the screen. For an explanation of "hard" and "soft" return characters see
- chapter 6.
-
- /*HH3!3*/ 13.2.4. Other Control Chars
-
- This controls the way that the ASCII characters below 32 will appear on
- the screen.
-
- /*HH2!2*/13.3. Rows and Columns
-
- This switches between various screen modes.
-
- EasyFold can switch between many screen modes in the same editing
- session. With a VGA card it can change between 25,28,43 and 50 line
- modes. If you have super-VGA you may be able to edit in some other modes
- for example 132 column modes. The actual mode numbers will be card
- dependant and you have to tell EasyFold these numbers in advance.
- EasyFold can access up to three extra screen modes by examining the
- environment variables EXMOD1, EXMOD2 and EXMOD3. For example on a 8900
- based SVGA card, mode 90 is a 132x60 text mode so you would add the
- following line to your autoexec.bat to access this,
-
- SET EXMOD1=90
-
- To find out what extra screen modes are available on your machine consult
- your video card manual.
-
- NOTE: At the time of writing only a few mouse drivers support 132 column
- modes.
-
-
- /*HH2!2*/13.4. Auto Tab
-
- This controls the behaviour of the cursor after typeing <Enter>. With
- auto-tab off, the cursor simply goes to the start of the next line. With
- auto-tab on EasyFold will insert exactly the same whitespace characters
- (tab and space) at the start of the line as appeared at the start of the
- previous line.
-
- /*HH232*/13.5. Colours
-
- /*HS!!3*/ 13.5.1. Text Foreground/Background
-
- These options contol the normal text forground and background colours.
-
- /*HH3!3*/ 13.5.2. Special Char Colour
-
- This controls the colour special charcters will appear in. Special
- characters are those with ASCII codes less than 32, for example tab and
- carriage-return.
-
- /*HH232*/13.6. Printing
-
- /*HS!!3*/ 13.6.1. Print to File
-
- If print to file is set to "YES" then whenever you print any text the
- text will be sent to a file. EasyFold will prompt you for the file name
- each time.
-
- /*HH3!3*/ 13.6.2. Pinter New Line
-
- Printer new line controls what characters are sent to your printer at the
- end of each line. laser printers often require both carriage return and
- line feed characters whereas dot matrix printers often require just the
- carriage return.
-
- /*HH3!3*/ 13.6.3. Form Feed After Print
-
- If this is set to "YES" the a form-feed character will be sent to the
- printer after each printout. This is useful with laser printers because
- they will not eject any page that is not full.
-
- /*HH3!3*/ 13.6.4. Printer Page Length
-
- This controls the number of lines that will be printed out before a
- form-feed.
-
- /*HH2!2*/13.7. Number of Back Ups
-
- This sets the number of back-ups made by the rolling back-up system. See
- section 12.3.
-
- /*HH2!2*/13.8. Max Memory for Shell
-
- If you set this to "YES" EasyFold will save its buffers in temporary
- files before shelling out to DOS. See chaper 7.
-
- /*HH2!2*/13.9. Temp File Directory
-
- This tells EasyFold where to write it's temporary files and back-ups for
- the rolling back-up system.
-
- /*HH2!2*/13.10. Keyboard Repeat Rate
-
- There are three keyboard repeat rate settings.
-
- * FAST: The keyboard will repeat at a rate of 10 characters per second.
-
- * SLOW: The keyboard will repeat at a rate of 30 characters per second.
-
- * SAME AS DOS: EasyFold will not change the repeat rate.
-
- /*HH2!2*/13.11. Cursor appearance
-
- One option that can not be set from within EasyFold is the way the cursor
- is handled. With some non-standard video cards (especially in laptops)
- the cursor may not appear properly (or at all!) in which case you can
- tell EasyFold not to change the cursor appearance by setting an
- environment variable "CHANGECUR" equal to "0". This is done by adding the
- line:
-
- SET CHANGECUR=0
-
- in your "AUTOEXEC.BAT".
-
- /*SH1!1*/
- /*#CP=00000:XX=99*/
-